#include "abrir.h"
#include "ui_abrir.h"
#include <QDebug>
#include <QMessageBox>

QString dir;

Abrir::Abrir(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Abrir)
{
    ui->setupUi(this);
    connect(ui->buttonCancelar,SIGNAL(clicked()),this,SLOT(close()));

    dir="";

    QString sPath = "Computer";
    dirmodel = new QFileSystemModel(this);
    dirmodel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs);
    dirmodel->setRootPath(sPath);
    ui->treeView->setModel(dirmodel);
    ui->treeView->hideColumn(1);
    ui->treeView->hideColumn(2);
    ui->treeView->hideColumn(3);

    filemodel = new QFileSystemModel(this);
    filemodel->setFilter(QDir::NoDotAndDotDot | QDir::Files);
    filemodel->setNameFilters(QStringList()<<"*.txt");
    filemodel->setNameFilterDisables(0);
    filemodel->setRootPath(sPath);
    ui->listView->setModel(filemodel);


}

Abrir::~Abrir()
{
    delete ui;
}

void Abrir::on_treeView_clicked(const QModelIndex &index)
{
    QString sPath = dirmodel->fileInfo(index).absoluteFilePath();
    ui->listView->setRootIndex(filemodel->setRootPath(sPath));
}

void Abrir::on_listView_clicked(const QModelIndex &index)
{    this->blockSignals(true);
    dir = filemodel->filePath(index);
    //qDebug() << dir;
}

void Abrir::on_buttonAbrir_clicked()
{
    QMessageBox msgBox;
    if(dir.isEmpty()){
        msgBox.setText("Debe seleccionar un archivo .txt");
        msgBox.exec();
    }else if(dir.indexOf(".txt")==-1){
        msgBox.setText("Debe seleccionar un archivo .txt");
        msgBox.exec();
    }else{
        close();
    }
}


void Abrir::on_buttonCancelar_clicked()
{
    dir="";
}

QString Abrir::getDir(){
    return dir;
}
